package ar.edu.utn.frba.dds.fechas;

import org.junit.Test;

import java.util.HashSet;
import java.util.Set;
import java.util.Iterator;


public class Prueba {
	/*private Set<Formato> formatosConocidos;*/
@Test
	public void crearFechaCon3Variables () {
	    Fecha fecha = new Fecha(2012,12,20);
		System.out.println("Día: " + fecha.getDate() + " , Mes: " + fecha.getMonth() + " , Año: " + fecha.getYear());
		}

@Test
	public void crearFechaConVector () {
		String[] cadVec = this.vectorizarFecha("2012-05-13");
		Fecha fecha = new Fecha(cadVec);
		System.out.println("Día: " + fecha.getDate() + " , Mes: " + fecha.getMonth() + " , Año: " + fecha.getYear());
		} //Por decisión de diseño, la clase fecha trabaja con formato ISO. Recibe un string ISO, y crea el objeto fecha.

@Test
public void probarISO () {
	System.out.println ("Prueba de ISO");
	new ISO().generarFecha("2012-05-13");
	}

@Test
public void probarNA () {
	System.out.println ("Prueba de NA");
	new NA().generarFecha("05-13-2012");
	}

@Test
public void probarLA () {
	System.out.println ("Prueba de LA");
	new NA().generarFecha("13-05-2012");
	}

@Test
public void formatearFlexible() {
	Set<Formato> formatosExistentes = new HashSet<Formato>();
	formatosExistentes.add(new ISO());
	formatosExistentes.add(new NA());
	formatosExistentes.add(new LA());
	System.out.println(formatosExistentes.size());
	Iterator<Formato> itr = formatosExistentes.iterator();
    while(itr.hasNext()) {
       Object element = itr.next();
       System.out.println(element + " \n");
    }
}

public String[] vectorizarFecha(String stringFecha) {
	
	String cadenaFecha = stringFecha;
	String delims = "[-]";
	String[] tokens = cadenaFecha.split(delims);
		return tokens;
		}
	}